Translating Refined Logic Programs to Mercury

نویسندگان

  • Robert Colvin
  • Ian J. Hayes
  • David Hemer
  • Paul A. Strooper
چکیده

A refinement calculus provides a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we investigate the use of Mercury as the target implementation language for a refinement calculus for logic programs. We describe a prototype tool for translating programs in our specification language to Mercury code. More generally, we investigate the advantages that Mercury has over standard Prolog, with respect to developing correct programs from specifications.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AB CIRC 2 DLP — Translating Circumscription into Disjunctive Logic Programming

The stable model semantics of disjunctive logic programs (DLPs) is based on minimal models [3, 8] which makes atoms appearing in a disjunctive program false by default. This is often desirable from the knowledge representation point of view, but certain domains become awkward to formalize if all atoms are blindly subject to minimization. In contrast to this, parallel circumscription [7] provide...

متن کامل

Translating Concurrent Programs into Petri Nets for Synthesis of Asynchronous Circuits

We introduce a high-level synthesis methodology to automatically synthesize asynchronous circuits from a concurrent language called ALEPH. ALEPH is a high-level concurrent algorithmic specification that can model complex concurrent control flow, logical and arithmetic computation, and communication. This specification is translated into a Petri net which has actions. These actions are refined t...

متن کامل

The Well Supported Semantics for Multidimensional Dynamic Logic Programs

Multidimensional dynamic logic programs are a paradigm which allows to express (partially) hierarchically ordered evolving knowledge bases through (partially) ordered multi sets of logic programs. They solve contradictions among rules in different programs by allowing rules in more important programs to reject rules in less important ones. This class of programs extends the class of dynamic log...

متن کامل

Adding Constraint Solving to Mercury

The logic programming language Mercury is designed to support programming in the large. Programmer declarations in conjunction with powerful compile-time analysis and optimization allow Mercury programs to be very efficient. The original design of Mercury did not support constraint logic programming (CLP). This paper describes the extensions we added to Mercury to support CLP. Unlike similarly ...

متن کامل

Compiling logic programs to Cusing GNU C as a portable

This paper discusses the merits of using C, and in particular GNU C, as an intermediate target language for the compilation of logic programs, and describes the approach we have taken in the implementation of Mercury. We start with a simple approach using ANSI C, and investigate a variety of improvements on this basic approach.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002